const { USER_PWD_NOT_NULL, AUTH_NOT_SUCS } = require('../errors')
const md5 = require('../utils/md5')
const service = require('../service/auth.service')
class userMiddle {
  async validity(ctx, next) {
    let { password, name } = ctx.request.body
    if (!password || !name) {
      // 用户名密码不为空
      return ctx.app.emit('error', USER_PWD_NOT_NULL, ctx)
    }
    // 用户是否存在
    const [user] = await service.findByName(name)
    if (!user) {
      return ctx.app.emit('error', USER_NOT_EXIST, ctx)
    }
    // 密码是否正确
    password = md5(password);
    if (user.password !== password) {
      return ctx.app.emit('error', AUTH_NOT_SUCS, ctx)
    }
    await next()
  }

}
module.exports = new userMiddle();